Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

512
Views
NodeJS ssh2-sftp-cliente | conectarse a SFTP usando una clave pública y una frase de contraseña

Tengo problemas para conectarme al servidor SFTP usando una clave pública y una frase de contraseña. Probé el siguiente código pero está llamando infinitamente a la función de devolución de llamada.

Agradezco cualquier entrada. Gracias.

 let sftpClient = require('ssh2-sftp-client'); let sftp = new sftpClient(); let conf = { host: 'host', port: 'port', username: 'username', keepaliveInterval: 1000 }; conf.authHandler = function (methodsLeft, partialSuccess, callback) { console.log('authhandler invoked') callback({ type: 'publickey', username: 'username', passphrase: 'password', key: fs.readFileSync('./id_rsa.pub', 'utf8') }); } sftp.connect(conf).then(() => { console.log('connected') // upload process here }).then(data => { sftp.end() }).catch(err => { console.log(err, 'catch error'); sftp.end() });
about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

Esta es mi solución de trabajo. Puedes probar en tu servidor

 const sftpClient = require('ssh2-sftp-client'); async upload(file) { const sftp = new sftpClient(); const sftpSSHKey = fs.readFileSync(keyPath); try { await sftp.connect({ host: 'somehost', port: 'port', username: 'username', privateKey: sftpSSHKey, passphrase: 'passphrase for an encrypted private key', }); console.log('Successfully connected to sftp'); } catch (error: any) { console.log(error); } try { const res = await client.put(Buffer.from(file), '/folder/fileName', { writeStreamOptions: { flags: 'w', encoding: null, // use null for binary files }, }); console.log('File uploaded successfully'); } catch (error) { console.log(error); } finally { await client.end(); // don't forget to close connection } }
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!